package com.tinet.sistReserva.DAO;

import java.util.ArrayList;

import javax.ejb.Remote;

import com.tinet.sistReserva.model.Reserva;
import com.tinet.sistReserva.model.Usuario;

/**
 * 
 * Interfaz que define los metodos a implementar por la clase ReservaBean.
 * 
 * @author Frmancil
 */
@Remote
public interface InterfazReservaDao {
    /**
     * 
     * Metodo que crea reserva.
     * 
     * @param reservaARealizar
     *            Reserva a realizar.
     */
    void reservar(Reserva reservaARealizar);

    /**
     * 
     * Metodo que elimina reserva.
     * 
     * @param reservaAEliminar
     *            Reserva a eliminar.
     */
    void eliminar(Reserva reservaAEliminar);

    /**
     * Metodo que retorna la lista de todas las reservas de un usuario.
     * 
     * @param usuario
     *            Usuario para buscar reservas.
     * @return Retorna una lista con todas las reservas de un usuario de la
     *         base de datos.
     */
    ArrayList<Reserva> listarMisReservas(Usuario usuario);

    /**
     * Metodo que retorna la lista de todas las reservas.
     * 
     * 
     * @return Retorna una lista con todas las reservas de la base de datos.
     */
    ArrayList<Reserva> listar();

}
